/**
 * 多语言处理组合函数
 * 负责多语言相关的逻辑处理
 */
import { ElMessage } from 'element-plus';
import { smartTranslate as $t, transPlaceholder as $p } from '@/lang';

export function useMultiLanguage(LangAPI) {
  /**
   * 获取指定key的多语言翻译数据
   * @param {Object} formData - 表单数据
   */
  const getTransData = async (formData) => {
    if (formData.key) {
      try {
        const { data } = await LangAPI.getTransData({ key: formData.key });
        formData.translations = data;
        ElMessage.success(
          $t('common.message.success.general', {
            action: $t('common.action.load'),
          }),
        );
        return data;
      } catch (error) {
        console.error('获取翻译数据失败:', error);
        // ElMessage.error(
        //   $t('common.message.failed.general', {
        //     action: $t('common.action.load'),
        //   }),
        // );
        throw error;
      }
    } else {
      ElMessage.error($p('menu.admin.lang.field.lang_key', '多语言键'));
    }
  };

  return {
    getTransData,
  };
}
